ATM 623: Climate Modeling

Brian E. J. Rose, University at Albany

Climate sensivity and the energy budget in CESM

Warning: content out of date and not maintained

You really should be looking at The Climate Laboratory book by Brian Rose, where all the same content (and more!) is kept up to date.

Here you are likely to find broken links and broken code.

In this assignment you will investigate how the CESM slab ocean model responds to a doubling of atmospheric CO2.

Refer to Assignment 2 for detailed instructions on how to access the CESM output.

Your assigment

  1. Answer all questions listed in this notebook.
  2. As before, write up your answers (including text, code and figures) in a new IPython notebook. Try to make sure that your notebook runs cleanly from start to finish, and explicitly imports every package that it uses.
  3. Save your notebook as [your last name].ipynb, e.g. my notebook should be called Rose.ipynb.
  4. Submit your answers by email before class on Tuesday February 21.

In [1]:
#  Ensure compatibility with Python 2 and 3
from __future__ import print_function, division

Homework questions: part A

Here we investigate differences between the control simulation and the 2xCO2 simulation (after it has reached its new, warmer equilibrium).

The two model output files you need are the control run:

som_1850_f19.cam.h0.clim.nc

and the doubled CO2 run:

som_1850_2xCO2.cam.h0.clim.nc

  1. Calculate Equilibrium Climate Sensitivity (ECS) for the CESM slab ocean model.

  2. Calculate the net TOA energy flux in the control run and in the equilibrated 2xCO2 run (time and global averages). Are they both close to zero?

  3. What is the change in ASR and the change in OLR after doubling CO2?

  4. What are the clear-sky and cloudy-sky components of those changes?

  5. Make well-labeled maps of the change in the annual mean of these five quantities:

    1. Surface temperature
    2. ASR (total)
    3. ASR (clear sky)
    4. ASR (cloudy sky)
    5. OLR (total)
    6. OLR (clear sky)
    7. OLR (cloud sky)
  6. Comment on what you found in your maps.

    • Which regions warm more than others?
    • Are there any discernible spatial patterns in ASR and OLR changes?
    • What about the clear and cloudy sky components?
    • Comment on anything you find striking, interesting, or unexpected in these results.

Homework questions: part B

Here we investigate the transient adjustment to equilibrium.

For this, we will use the file

som_1850_2xCO2.cam.h0.global.nc

This file contains a monthly timeseries of the CESM model output from the 2xCO2 model run, which was initialized from the control run. Every variable in this file has already been averaged globally. We can use the timeseries to look at the adjustment of the global average temperature and energy budget to the new equilibrium.

  1. Make a well-labeled graph of the timeseries of global mean surface temperature.
  2. You will find that there is a well-defined annual cycle in this temperature. Offer a reasonable hypothesis to explain why such a cycle exists in the simulation.
  3. Implement some kind of running average filter to smooth out the data. (There are many ways to do this... do whatever makes sense to you, but make sure your code is self-explanatory).
  4. Make another graph of the smooth timeseries. Does it look anything like the exponential relaxation curves we found in the zero-dimensional EBM?
  5. In another graph, plot smoothed verions of the timeseries of ASR and OLR.
  6. Comment on anything interesting you learned from these figures.

Verifying the annual cycle in global mean surface temperature against observations

Here we still study the annual cycle in global mean surface temperature and verify it against observations. For observations, we will use the NCEP Reanalysis data.

Reanalysis data is really a blend of observations and output from numerical weather prediction models. It represents our “best guess” at conditions over the whole globe, including regions where observations are very sparse.

The necessary data are all served up over the internet. We will look at monthly climatologies averaged over the 30 year period 1981 - 2010.

The data catalog is here, please feel free to browse: http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.derived/catalog.html

Surface air temperature is contained in a file called air.2m.mon.1981-2010.ltm.nc, which is found in the directory surface_gauss.

Here's a link directly to the catalog page for this data file: http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.derived/surface_gauss/catalog.html?dataset=Datasets/ncep.reanalysis.derived/surface_gauss/air.2m.mon.1981-2010.ltm.nc

Now click on the OPeNDAP link. A page opens up with lots of information about the contents of the file. The Data URL is what we need to read the data into our Python session. For example, this code opens the file and displays a list of the variables it contains:


In [2]:
import xarray as xr
url = "http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.derived/surface_gauss/air.2m.mon.1981-2010.ltm.nc"
ncep_air2m = xr.open_dataset(url, decode_times=False)
## The NOAA ESRL server is shutdown! January 2019
#url = 'http://apdrc.soest.hawaii.edu:80/dods/public_data/Reanalysis_Data/NCEP/NCEP/clima/'
#ncep_air2m = xr.open_dataset(url + 'surface_gauss/air')

print( ncep_air2m)


<xarray.Dataset>
Dimensions:             (lat: 94, lon: 192, nbnds: 2, time: 12)
Coordinates:
  * lon                 (lon) float32 0.0 1.875 3.75 ... 354.375 356.25 358.125
  * time                (time) float64 -6.571e+05 -6.57e+05 ... -6.567e+05
  * lat                 (lat) float32 88.542 86.6531 ... -86.6531 -88.542
Dimensions without coordinates: nbnds
Data variables:
    climatology_bounds  (time, nbnds) float64 ...
    air                 (time, lat, lon) float32 ...
    valid_yr_count      (time, lat, lon) float32 ...
Attributes:
    Conventions:                    COARDS
    title:                          mean daily NMC reanalysis (1958)
    description:                    Data is from NMC initialized reanalysis\n...
    platform:                       Model
    not_missing_threshold_percent:  minimum 3% values input to have non-missi...
    history:                        Created 2011/07/12 by doMonthLTM\nConvert...
    References:                     http://www.esrl.noaa.gov/psd/data/gridded...
    dataset_title:                  NCEP-NCAR Reanalysis 1

The temperature data is called air. Take a look at the details:


In [3]:
print( ncep_air2m.air)


<xarray.DataArray 'air' (time: 12, lat: 94, lon: 192)>
[216576 values with dtype=float32]
Coordinates:
  * lon      (lon) float32 0.0 1.875 3.75 5.625 ... 352.5 354.375 356.25 358.125
  * time     (time) float64 -6.571e+05 -6.57e+05 ... -6.568e+05 -6.567e+05
  * lat      (lat) float32 88.542 86.6531 84.7532 ... -84.7532 -86.6531 -88.542
Attributes:
    long_name:     Monthly Long Term Mean of Air Temperature
    valid_range:   [150. 400.]
    units:         degK
    precision:     2
    GRIB_id:       11
    GRIB_name:     TMP
    var_desc:      Air temperature
    level_desc:    2 m
    statistic:     Long Term Mean
    parent_stat:   Mean
    actual_range:  [198.33992 311.8952 ]
    dataset:       NCEP Reanalysis Derived Products
    _ChunkSizes:   [  1  94 192]

Notice that the dimensions are (12, 94, 192) -- meaning 12 months, 94 latitude points, 192 longitude points. Not the same grid as our model output!

Homework questions: part C

  1. Offer a reasonable hypothesis to explain why you found an annual cycle in global mean surface temperature in the simulation.
  2. Verify that such a cycle is also found in the NCEP Reanalysis data.
[Back to ATM 623 notebook home](../index.ipynb)

Credits

The author of this notebook is Brian E. J. Rose, University at Albany.

It was developed in support of ATM 623: Climate Modeling, a graduate-level course in the Department of Atmospheric and Envionmental Sciences

Development of these notes and the climlab software is partially supported by the National Science Foundation under award AGS-1455071 to Brian Rose. Any opinions, findings, conclusions or recommendations expressed here are mine and do not necessarily reflect the views of the National Science Foundation.



In [ ]: